#ifndef _CONVERT_MANANGER_H
#define _CONVERT_MANANGER_H

#include <config.h>
#include <video_manager.h>

typedef struct VideoConvert{
    char *name;
    int (*Init)(void);
    int (*isSupport)(int iPixelFormatIn,int iPixelFormatOut);
    int (*Convert)(PT_VideoBuf iVideoBufIn,PT_VideoBuf iVideoBufOut);
    int (*ConvertExit)(PT_VideoBuf iVideoBufOut);
    struct VideoConvert *ptNext;
}T_VideoConvert,*PT_VideoConvert;

int RegisterVideoConvert(PT_VideoConvert ptVideoConvert);
int VideoConvertInit(void);
PT_VideoConvert GetVideoConvertForFormats(int iPixelFormatIn, int iPixelFormatOut);
int Rgb2RgbInit(void);
int Mjpeg2RgbInit(void);
int Yuv2RgbInit(void);

#endif